草庐IT

simplexml - PHP simplexml 实体

全部标签

php - 正则表达式(在 PHP 中)匹配 & 不是 HTML 实体

目标是:用&替换所有独立的符号但不要替换那些已经是HTML实体一部分的那些,例如 。我想我需要一个用于PHP的正则表达式(最好是用于preg_函数),它只匹配独立的&符号。我只是不知道如何使用preg_replace做到这一点。 最佳答案 PHP的htmlentities()对此有double_encode参数。如果你想在正则表达式中做类似的事情,那么否定断言就很有用了:preg_replace('/&(?!(?:[[:alpha:]][[:alnum:]]*|#(?:[[:digit:]]+|[Xx][[:xdigit:]]+))

PHP simplexml_load_file - 捕获文件错误

是否可以捕获simplexml文件错误?我连接到一个有时会失败的网络服务,如果系统返回一些http错误或类似的东西,我需要让系统跳过一个文件。 最佳答案 使用@很脏。如果你看手册,有一个选项参数:SimpleXMLElementsimplexml_load_file(string$filename[,string$class_name="SimpleXMLElement"[,int$options=0[,string$ns=""[,bool$is_prefix=false]]]])此处提供所有选项列表:http://www.php.

php - 实体表单类型上的 Symfony 2 Transformer

我正在尝试在Symfony2中创建一个新的表单类型。它基于实体类型,它使用select2在前端,我需要用户能够选择现有实体或创建新实体。我的想法是发送实体的ID并在用户选择现有实体时将其转换为默认实体类型,或者在用户输入新值时发送类似“_new:enteredtext”的内容。然后这个字符串应该通过我自己的模型转换器转换为新的表单实体,它应该看起来像这样:entityName=$entityName;}publicfunctiontransform($val){return$val;}publicfunctionreverseTransform($val){$ret=$val;if(s

php - symfony2 JMSSerializerBundle 反序列化具有 OneToMany 关联的实体

我在doctrine2设置中有CategoryOneToManyPost关联,如下所示:类别:.../***@ORM\OneToMany(targetEntity="Post",mappedBy="category")*@Type("ArrayCollection")*/protected$posts;...帖子:.../***@ORM\ManyToOne(targetEntity="Category",inversedBy="posts")*@ORM\JoinColumn(name="category_id",referencedColumnName="id")*@Type("Pla

php - 使用原则 2 选择从一个父类(super class)扩展的多个子类的实体

鉴于我的Doctrine2实体的设置:App\Bundle\LorumBundle\Entity\Node:type:entitytable:nodefields:id:id:truetype:integerunsigned:falsenullable:falsegenerator:strategy:IDENTITYcreated:type:datetimeinheritanceType:SINGLE_TABLEdiscriminatorColumn:name:typetype:stringlength:255discriminatorMap:a:ab:bc:cApp\Bundle\L

php - 在 simplexml_load_file 上设置超时

我有这个输出rss提要的脚本。我想要做的是让它尝试到达rssurl之类的5秒顶部,如果它不能那么我希望它加载服务器上的备份xml文档。这就是我所拥有的,但它不起作用:channel->itemas$item){echo'guid.'"alt="'.$item->title.'"target="_blank">',substr($item->title,0,62),'...',substr($item->pubDate,4,18),'';}}else{$xml=simplexml_load_file($url);foreach($xml->channel->itemas$item){ec

PHP 如何将文本编码为数字实体?

我有这样的xml:ℤ我的目标是摆脱所有像ℤ这样的特殊实体,用它们的数字实体表示代替它们。我试过了:$test=;$convmap=array(0x80,0xffff,0,0xffff);$test=mb_encode_numericentity($test,$convmap,'UTF-8');但这不会取代ℤ有什么想法吗?我的目标是:ℤ如下所示:http://www.fileformat.info/info/unicode/char/2124/index.htm谢谢。 最佳答案 您的转换器正在

php - HTML ASCII 实体等效的特殊字符

如何将所有特殊字符转换为相应的html实体?特殊字符如$&/\{}(-',@等我尝试使用htmlentities()和htmlspecialchars()。但是没有解决我的问题。请查看here.我想要类似实体编号的输出,即第3列。实际情况是-我需要从fckeditor获取输入。然后存入数据库。所以我需要将所有特殊字符从文本转换为相应的html实体。否则它会给我错误。 最佳答案 您正在寻找的是一个字符的ASCII等价物。所以你需要利用ord()。顺便说一下divaka提到是正确的。像这样..输出:pleasecheck$100

php - 通过刷新时的外部实体异常来 Doctrine OneToOne 身份

我有User和UserProfileOneToOne相关的DoctrineORM实体。它们应该总是成对存在,没有UserProfile就没有User。用户应该从自动增量中获取它的id,而UserProfile应该有用户的id。因此它们都应该具有相同的ID,并且没有其他列可以建立关系(Doctrinedocs:IdentitythroughforeignEntities)。UserProfile的id同时是主键(PK)和外键(FK)。我设法设置了它,但它要求先保存用户,然后才在单独的步骤中创建和保存用户配置文件。我想要的是UserProfile总是在构造函数中用User创建,但如果我这样

php - Doctrine 冲洗单个实体

Doctrine接口(interface)Doctrine\Common\Persistence\ObjectManager将flush方法定义为没有参数。然而,实现Doctrine\ORM\EntityManager允许传递单个实体。除了IMO糟糕的编程风格之外,还有什么我需要担心的吗?我知道PHP将忽略任何未在方法中声明的额外参数。这会导致非ORM管理器刷新所有实体。我问是因为我正在尝试以ORM可配置且可在以后切换的方式编写我的代码。现在,在编写批量导入类时,我发现在没有实体的情况下调用flush会导致内存泄漏,它还会影响我在主导入循环之外使用的“进度/历史”实体。因此,我只刷新某